package fileAndIO;

import org.junit.Test;

import java.io.File;
import java.io.IOException;

public class Test1 {
    @Test
    public void test() {
        String pathName = "C:\\Users\\83726\\package.json";
        File file = new File(pathName);
        // 查看文件是否存在
        System.out.println(file.exists());

        // 获取路径
        System.out.println(file.getPath());
        // 获取文件名
        System.out.println(file.getName());

        // 是否是文件
        System.out.println(file.isFile());

        // 是否是目录
        System.out.println(file.isDirectory());

    }

    @Test
    public void test2() {
        // 创建文件
        File file = new File("C:\\Users\\83726\\ccc.txt");
        if (!file.exists()) {
            try {
                boolean newFile = file.createNewFile();
                System.out.println(newFile);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    @Test
    public void test3() {
        // 创建目录
        File file = new File("C:\\Users\\83726\\ccc");
        boolean mkdir = file.mkdir();
        System.out.println(mkdir);
    }

    @Test
    public void test4() {
        // 遍历目录内容
        File file = new File("C:\\Users\\83726");
        File[] files = file.listFiles();
        for (File file1 : files) {
            System.out.println(file1.getName());
        }
    }

    @Test
    public void test5() {
        // 递归遍历文件夹以及文件夹以内的所有内容
        File dir = new File("C:\\Users");
        listSubFiles(dir);
    }

    public void listSubFiles(File dir) {
        if (dir != null && dir.isDirectory()) {
            File[] listFiles = dir.listFiles();
            for (File listFile : listFiles) {
                if (listFile != null)
                    listSubFiles(listFile);
            }
        }
        System.out.println(dir);
    }
}
